///////////////////////////////////////////////////////////
//  Doctor.h
//  Implementation of the Class Doctor
//  Created on:      25-Out-2010 12:04:10
//  Original author: Eva
///////////////////////////////////////////////////////////

#if !defined(EA_3DD99D61_79C9_47a7_A01A_E93BBEA32F09__INCLUDED_)
#define EA_3DD99D61_79C9_47a7_A01A_E93BBEA32F09__INCLUDED_

#include "Worker.h"
#include "Client.h"
#include "Agenda.h"
#include "Consultation.h"

class Doctor : public Worker
{

public:
	Doctor();
	virtual ~Doctor();
	Client *m_Client;
	Agenda *m_Agenda;
	Consultation *m_Consultation;

	AcademicDegree getAcademicDegree();
	setAcademicDegree(AcademicDegree degree);
	Expertise getExpertise();
	void setExpertise(Expertise expertise);
	vector<Client *> getAssociatedClient();
	void setAssociatedClient(vector<Client *> associatedClient);
	void addClient(Client client);
	void removeClient(Client client);
	bool isClient(Client client);
	bool addAgenda(Agenda agenda);
	bool removeAgenda(Agenda agenda);
	void printDailyAgenda(Date date);
	void printWeeklyAgenda(Date date);

private:
	AcademicDegree academicDegree;
	Expertise expertise;
	vector<Client *> associatedClient;
	vector<Agenda> agenda;

};
#endif // !defined(EA_3DD99D61_79C9_47a7_A01A_E93BBEA32F09__INCLUDED_)
